Data centers and timesharing have been used for over 40 years in the computing industry. Timesharing, the concept of linking a large numbers of users to a single computer via remote terminals, was developed at MIT in the late 1950s and early 1960s. A popular timesharing system in the late 1970's to early 1980's was the CDC Cybernet network. Many other networks existed. The total computing power of large mainframe computers was typically more than the average user needed. It was therefore more efficient and economical to lease time and resources on a shared network. Each user was allotted a certain unit of time within a larger unit of time. For instance, in one second, 5 users might be allotted 200 microseconds apiece, hence, the term timesharing. These early mainframes were very large and often needed to be housed in separate rooms with their own climate control.
As hardware costs and size came down, mini-computers and personal computers began to be popular. The users had more control over their resources, and often did not need the computing power of the large mainframes. These smaller computers were often linked together in a local area network (LAN) so that some resources could be shared (e.g., printers) and so that users of the computers could more easily communicate with one another (e.g., electronic mail, or e-mail, instant chat services as in the PHONE facility available on the DEC VAX computers).
As the Information Technology (IT) industry matured, software applications became more memory, CPU and resource intensive. With the advent of a global, distributed computer networks, i.e., the Internet, more users were using more software applications, network resources and communication tools than ever before. Maintaining and administering the hardware and software on these networks could be a nightmare for a small organization. Thus, there has been a push in the industry toward open applications, interoperable code and a re-centralization of both hardware and software assets. This re-centralization would enable end users to operate sophisticated hardware and software systems, eliminating the need to be entirely computer and network literate, and also eliminating direct maintenance and upgrade costs.
With Internet Service Providers (ISPs), Application Service Providers (ASPs) and centralized Internet and Enterprise Data Centers (IDCs), or Network Operation Centers (NOCs), the end user is provided with up-to-date hardware and software resources and applications. The centers can also provide resource redundancy and “always on” capabilities because of the economies of scale in operating a multi-user data center.
Thus, with the desire to return to time and resource sharing among enterprises (or organizations), in the form of IDCs and NOCs, there is a need to optimize the center's resources while maintaining a state-of-the-art facility for the users. There is also a need to provide security and integrity of individual enterprise data and ensure that data of more than one enterprise, or customer, are not co-mingled. In a typical enterprise, there may be significant downtime of the network while resources are upgraded or replaced due to failure or obsolescence. These shared facilities must be available 24-7 (i.e., around the clock) and yet, also be maintained with state-of-the art hardware and software.
A typical IDC of the prior art consists of one or more separate enterprises. Each customer leases a separate LAN within the IDC, which hosts the customer's enterprise. The individual LANs may provide always-on Internet infrastructure (AOII), but require separate maintenance and support. When an operating system requires upgrade or patching, each system must be upgraded separately. This can be time intensive and redundant.
There are a number of tools and systems in the prior art for measuring performance and run time metrics of systems. These tools typically analyze only performance criteria in a single enterprise. Optimal resource sharing among enterprises in a data center has not been implemented. An attribute of a data center environment is that the computing resources are most often “replaceable units” that can be easily substituted for each other. Further, some components of the data center have excess capacity and could be shared.